#!/usr/bin/env python3
import subprocess
import os

ZULIP_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
os.chdir(ZULIP_PATH)

output = subprocess.check_output(['pip', 'list', '--outdated', '--format',
                                  'columns']).decode('utf-8').splitlines()

packages_info = output[2:]

for package_line in packages_info:
    package_name = package_line.split()[0]
    package_current_version = package_line.split()[1]
    package_latest_version = package_line.split()[2]
    try:
        output = subprocess.check_output(['grep', '-r', package_name, 'requirements', '--exclude=*.txt',
                                          '--include=pip.txt']).decode('utf-8')
        print(package_name, "|", package_current_version, "|", package_latest_version)
    except subprocess.CalledProcessError:
        pass
